using System;

public class CustomObject
{
  private DateTime _ADateTime = DateTime.Now;
  private Decimal _ADecimal = 12.34M;

  public int[] AnArray = new int[] { 1, 2, 3 };
  public int AnInteger = 12;
  public string AString = "abc";
  public CustomStruct AStruct;
  public CustomObject2 ASubObject = new CustomObject2();

  //public CustomObject CyclicReference;

  public DateTime ADateTime
  {
    get { return _ADateTime; }
    set { _ADateTime = value; }
  }

  public Decimal ADecimal
  {
    get { return _ADecimal; }
    set { _ADecimal = value; }
  }

  public CustomObject()
  {
    // Un-comment this to test cyclic reference validation
    // CyclicReference = this;
    AStruct.AChar = 'a';
    AStruct.AnInteger = 1;
  }
}